﻿/******************************************************************************
 *  作者：       scott
 *  创建时间：   2012/3/3 23:18:07
 *
 *
 ******************************************************************************/

using EasyMvcBlog.Data;
using FluentNHibernate.Mapping;

namespace EasyMvcBlog.Infrastructure.Repository.DataMap
{
    public class ArticleMap : ClassMap<Article>
    {
        public ArticleMap()
        {
            Id(m => m.Id).GeneratedBy.Identity();
            Map(m => m.Title).Not.Nullable();
            Map(m => m.ShortDesc).Not.Nullable();
            Map(m => m.Content).Not.Nullable().CustomSqlType("NTEXT").CustomType("StringClob");
            References(m => m.Category).Column("CategoryId").Not.LazyLoad();
            HasManyToMany(m => m.Tags).ParentKeyColumn("ArticleId")
                .ChildKeyColumn("TagId")
                .Table("ArticleTags")
                .Not.LazyLoad();
            Map(m => m.ChangedTime);
            Map(m => m.CreateTime);
            Map(m => m.IsVisitorVisible).Default("1");
            Map(m => m.DenyComment).Default("1");
        }
    }
}
